import request from '@/utils/request.js'

/**
 * 获取考试列表
 * @param {number} pageNum - 页码，默认为1
 * @param {number} pageSize - 每页数量，默认为10
 * @returns 返回一个请求Promise，用于获取考试列表的数据
 */
export const getExamList = (pageNum = 1, pageSize = 10) => {
	// 发起GET请求获取考试列表的分页数据
	return request('biz/paper/list', {
		method: 'get',
		data: {
			pageNum,
			pageSize
		},
		backAll: true
	})
}

/**
 * 获取指定试卷的问题列表
 * @param {string} paperId - 试卷ID
 * @returns {Promise} 返回一个Promise对象，成功时携带问题列表信息
 */
export const getQuestionList = (paperId) => {
	// 发起GET请求获取题目列表
	return request(`biz/bank/list/${paperId}`, {
		method: 'get',
		backAll: true // 请求全部数据
	})
}

/**
 * 回答问题接口
 * @param {string} bankRightAns 银行题目正确答案
 * @param {string} bankId 题目银行ID
 * @returns 返回请求结果
 */
export const answerQuestion = (bankRightAns, bankId) => {
	return request('biz/bank/answer', {
		data: {
			bankRightAns,
			bankId
		}
	})
}

/**
 * 收藏题目银行接口
 * @param {string} bankId 题目银行ID
 * @returns 返回请求结果
 */
export const favorite = (bankId) => {
	return request(`biz/bank/favorite/${bankId}`, {
		method: 'get',
		backAll: true
	})
}

/**
 * 获取错题列表接口
 * @returns 返回请求结果
 */
export const getWrong = () => {
	return request(`biz/bank/wrong/list`, {
		method: 'get',
		backAll: true
	})
}

/**
 * 删除错题接口
 * @param {string} bankId 题目银行ID
 * @returns 返回请求结果
 */
export const deleteWrong = (bankId) => {
	return request(`biz/wrong/${bankId}`, {
		method: 'delete'
	})
}

/**
 * 清空错题接口
 * @returns 返回请求结果
 */
export const clearWrong = () => {
	return request('biz/wrong', {
		method: 'delete',
		backAll: true,
		showMessage: true
	})
}